home *** CD-ROM | disk | FTP | other *** search
- VOLUME 1
- *** PROGRAMMES CASIO FX 850P ***
- (c) W-Tel RTC (16) 62 93 74 05
-
- VOUS VENEZ DE TELECHARGER LE FICHIER
- FXVOL1.LST SUR W-TEL. CES PROGRAMMES
- SONT FACILEMENT ADAPTABLES SUR D'AUTRES
- MICRO.
-
- VOUS POUVEZ SOIT RE-TAPER CES PRG SUR
- VOTRE MICRO, SOIT A L'AIDE DU LOGICIEL
- TRANSFILE ST850 LES CHARGER DIRECTEMENT
- SUR LE CASIO FX850P. CE LOGICIEL EST
- DISTRIBUE PAR OMIKRON FRANCE AU PRIX DE
- 500FRS ENVIRON.
-
- SI VOUS AVEZ ECRIT UN SOFT SUR CASIO
- FX850P VENEZ LE METTRE SUR W-TEL 24/24
- AU 62.93.74.05 (BAL WILLY).
-
-
- SOMMAIRE DU VOLUME 1
-
- ADRESSES SYSTEME ET ORGANISATION DE LA
- RAM.
-
- programme Course
-
- programme drive
-
- programme Gestion
-
- programme jour de la date
-
- programme pendu
-
- programme poursuite
-
- programme Simplex
-
- programme simplification fraction
-
- programme Zero polynome degre N avec
- complexe
-
- programme d'animation.
-
- Programme de conversion base 10<> base N
- (N>1)
-
- Biorythme classique.
-
- Programme d'exploration de la RAM et
- ROM.
-
- Programme de transformation d'un rel en
- fraction. Trs rapide !
-
- Nombres alatoires.
-
- Trs utile pour savoir le nombre
- d'octets que prennent les programmes et
- le MEMO.
-
- Petit prsentation sympa...
-
- Voici le pro des pro: Transfert des
- programmes LIB en P0.
-
- Pour voir le pass de votre Casio
-
- Petit programme qui dveloppe (a+b)^n
- avec n<10
-
- Programme pour que PIELB trouve sa bien-
- aime
-
- Programme de cration de caractres.
-
- La suite dans VOLUME 2....(disponible)
-
-
- ********************************
-
- Voici la mmoire du Casio Fx 850p:
-
- ADRESSES SYSTEME ET ORGANISATION DE LA
- RAM.
-
- Adresses System de 0 a 2933 (&h0000 a
- &h0B7F)
-
- 0000-0255 memoire virtuelle de
- l'affichage
- 0257-0259 pointeur sur debut de
- fichier GOSUB/FOR pile
- 0292-0352 pile des niveaux de
- parentheses
- 0512-0767 tampon d'entree &h00=fin
- de l'entree
- 0768-1023 memoire intermediaire
- pour calculs de fonctions (CALC/VALF)
- 1024-1279 memoire des fonctions
- pour CALC
- 1545-1552 chiffre "LIB"/nom de
- fichier
- 1582-1597 representation d'un
- nombre (PRINT)
- 1670-1672 pointeur:debut de zone
- fichiers/debut de pile
- 1673-1675 pointeur:fin de zone
- fichiers
- 1676-1678 pointeur:fin de pile
- 1679-1681 pointeur:debut donnees
- "batch"
- 1682-1684 pointeur:fin donnees
- "batch"/debut de zone FOR
- 1685-1687 pointeur:fin de zone
- FOR/debut de zone GOSUB
- 1688-1690 pointeur:fin de zone
- GOSUB/fin de pile/debut de pile
- variables/debut zone chaine de
- caracteres
- 1691-1693 pointeur:fin de zone
- chaines de caracteres
- 1694-1696 pointeur:debut de zone
- nombres
- 1697-1699 pointeur:fin de zone
- nombres/debut de zone noms
- 1700-1702 pointeur:fin de pile
- variables/debut de zone programmes basic
- 1703-1705 pointeur:fin de zone
- programme basic/debut de zone MEMO
- 1706-1708 pointeur:fin de zone MEMO
- 1709-1711 pointeur:fin de RAM libre
- 1712-1714 pointeur:debut du
- sommaire zones basic (P0-P9)
- 1715-1717 pointeur:fin du sommaire
- zones basic/fin de RAM
- 1718-1720 pointeur:debut de
- sommaire LIB0:
- 1721-1723 programme actuellement en
- LIB0:
- 1724-1726 pointeur:fin de sommaire
- LIB0:
- 1727-1729 pointeur:debut de
- sommaire LIB1:
- 1730-1732 porgramme actuellement en
- LIB1:
- 1733-1735 pointeur:fin de sommaire
- LIB1:
- 1747-1749 pointeur:sur nom de
- variable si affectation d'une valeur
- 1750-1752 pointeur:continuer apres
- STOP
- 1771-1773 pointeur:sur zone basic
- actuelle
- 1774-1775 pointeur:numero de ligne
- 1776-1778 pointeur:sur instruction
- en cours
- 1867-1874 mot de passe
- 1878-2133 tampon de sortie pour
- CALC
- 2176-2933 pile pour
- fichiers/FOR/GOSUB
-
-
-
- ++++++++++++++++++++++++++++++++++++++
- programme Course:
-
- Ce petit programme me sert
faire le
- calcul de mes courses au super march.
-
- 1 SET F2:CLS:PRINT "Prix=";PR;TAB(16);"Total=";T;CHR$(13);:PR=0:PRINT "Prix:";:INPUT@(20);PR:T=T+PR:GOTO 10
-
-
- ++++++++++++++++++++++++++++++++++++++
- programme drive
-
- CE PROGRAMME CALCUL LA DERIVEE D'UNE
- FONCTION EN X0.
- LA FONCTION EST ENTREE EN PREMIER, PUIS
- ENTREZ X0. TAPEZ E POUR FINIR.
- EX: F(X)=COSX ET X0=0 D'OU F'(0)=0
- (METTEZ VOUS EN RADIAN !!!)
-
- 1 REM DERIVE EN X0
- 2 REM (C) WILLYTEL JUIN 89
- 3 REM 24H/7H AU 62.93.74.05
- 9 REM chr$(26):jap on, chr$(27):jap off
- 10 MODE5:PRINT "E=END":CLS:PRINT "Calcul de derivee";CHR$(13);:INPUT "Fonction F(X)=";F$
- 20 CLS:PRINT "F(X)=";F$;CHR$(13);:INPUT "X0=";X$:X=VALF(X$):IF X$="E" THEN PRINT "END.";CHR$(13);:MODE4:END
- 30 X0=X:F0=VALF(F$):X=X+X*1E-8+1E-10:F=VALF(F$):F=(F0-F)/(X0-X):X=X0
- 40 A$="F'("+X$+")=":PRINT A$;F:GOTO 20
-
-
- ++++++++++++++++++++++++++++++++++++++
- programme Gestion
-
- 1 REM GESTION DE COMPTE SIMPLE
- 2 REM (C) WILLYTEL 89
- 3 REM 24H/7H AU 62.93.74.05
- 4 REM ATTENTION CE PROGAMME UTILISE LA Function Memory AFIN DE GARDER LE SOLDE EN MEMOIRE.
- 5 REM N'UTILISEZ DONC PAS CELLE-CI AU RISQUE DE PERDRE VOTRE SOLDE !!!
- 10 DIM SO(9):SOLDE=0:SET F2
- 20 FOR X=1024TO1033
- 30 I=X-1024:SO(I)=PEEK(X)
- 40 NEXT X
- 50 FOR I=0 TO 8
- 60 SOLDE=SO(I)*100^(I)+SOLDE
- 70 NEXT I
- 80 SOLDE=SOLDE/100*(-2*SO(9)+1)
- 90 CLS:LOCATE0,0:PRINT "SOLDE:";SOLDE;:LOCATE0,1:PRINT "OPERATION:";:INPUT@(9);OP
- 95 IF ABS(SOLDE+OP)>1E10 THEN PRINT "DEPASSEMENT CAPACITE !!!":GOTO 90
- 100 SOLDE=SOLDE+OP:OP=0
- 110 IF SOLDE<0 THEN POKE 1033,1
- 120 IF SOLDE>0 THEN POKE 1033,0
- 130 FOR I=1024 TO 1032: A=INT(FRAC(ABS(SOLDE)/100^(I-1024))*100):POKE I,A:NEXT I:GOTO 90
-
-
- ++++++++++++++++++++++++++++++++++++++
- programme jour de la date
-
- VOUS POURREZ AVEC CE PETIT PROGRAMME
- CALCULER LE JOUR DE VOTRE NAISSANCE.
- EX: LE 02/03/1968 ETAIT UN SAMEDI
- LE 01/01/2000 SERA UN SAMEDI.
- CE PROGRAMME EST GARANTIS 100% JUSQU'A
- L'AN 9999.
-
- 1 ON ERROR GOTO 200
- 2 REM JOUR DE LA DATE
- 3 REM TELECHARGE SUR WILLYTEL
- 4 REM 24H/7H AU 62.93.74.05
- 10 DIM A$(6):RESTORE 110:FOR I=0 TO 6:READ A$(I):NEXT I
- 20 INPUT "Date:JJ/MM/AAAA ";B$:T=VAL (MID$(B$,1,2)):M=VAL(MID$(B$,4,2))
- 30 J=VAL(MID$(B$,7,4)):IF J<1582 PRINT "Erreur/Entree":GOTO 20
- 40 IF M>2 THEN M=M-2:GOTO 60
- 50 M=M+10:J=J-1
- 60 H=INT(J/100):J=J-100*H:W=INT(J/4) +INT(H/4)+INT((13*M-1)/5)+T+J-2*H
- 70 IF W>0 THEN W=W-7*INT(W/7):GOTO 90
- 80 IF W<0 THEN W=W+7:GOTO 80
- 90 PRINT B$+" : "+A$(W):GOTO 20
- 100 REM DATAs
- 110 DATA "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"
- 200 PRINT "Error";:FOR X=1 TO 200: NEXT X:PRINT CHR$(13);:RESUME 1
-
-
- ++++++++++++++++++++++++++++++++++++++
- programme pendu
-
- 1 REM (C) WILLYTEL 89
- 2 REM TELECHARGEMENT 24H/7H
- 3 REM AU 62.93.74.05
- 4 REM PENDU
- 5 PRINT CHR$(9);
- 10 CLS:PRINT "* PENDU sur Casio (c) WILLYTEL *";" Tapez sur une touche SVP";
- 20 A$=INKEY$:IF A$="" THEN 20
- 25 P=0
- 30 CLS:PRINT "Patientez SVP...";: RESTORE#:X=INT(RAN#*40)
- 35 ON ERROR GOTO 60
- 40 READ# N$:N=INT(40*RAN#):IF N<>X THEN 40
- 50 GOTO 70
- 60 RESUME 30
- 70 L=LEN(N$)
- 80 A$=RIGHT$("--------------------------------",L)
- 90 CLS:LOCATE 0,0:PRINT A$;
- 100 LOCATE 0,1:PRINT "VOTRE CHOIX:";: INPUT@2;R$
- 105 B=0
- 110 IF R$=LEFT$(N$,1) THEN A$=R$+RIGHT$(A$,L-1):B=1
- 112 IF R$=RIGHT$(N$,1) THEN A$=LEFT$(A$,L-1)+R$:B=1
- 113 IF L<3 THEN 150
- 115 FOR I= 2 TO L-1
- 120 IF R$=MID$(N$,I,1) THEN A$=LEFT$(A$,I-1)+R$+RIGHT$(A$,L-I):B=1
- 140 NEXT I
- 150 IF N$=A$ THEN 200
- 155 IF B=1 OR R$="" THEN 90
- 160 P=P+1
- 170 CLS:LOCATE 0,0
- 180 PRINT "RESTE:";8-P;"COUP(S)":IF P=8 THEN BEEP1:CLS:PRINT "PERDU !!!":PRINT "C'ETAIT:";N$:GOTO 1
- 190 GOTO 90
- 200 CLS
- 210 PRINT "VOUS AVEZ GAGNE !!!";CHR$(13);"->";A$:GOTO 1
-
-
- ++++++++++++++++++++++++++++++++++++++
- programme poursuite
-
- 1 CLS:PRINT " POURSUITE INFERNALE (c) W-TEL JANV 90";:FOR I=1TO200:NEXT I:GOSUB 900
- 2 P$=CHR$(140):M$=CHR$(241)
- 3 CLS:PRINT P$;":c'est vous !";CHR$(13);M$;":c'est le monstre !"
- 4 PRINT "Vous devez l'eviter grace aux touches 8,6,2,4.":PRINT "8:haut,2:bas, 6:droite,4:gauche
- 7,9,1,3:diagonales"
- 5 PRINT "La partie est chronometree. Le compteur s'affiche en bas.":PRINT "Tous les 50 le monstre saute. Tous
- les 100 vous sautez !"
- 6 PRINT "MANGER LE * ET VOUS GAGNER 100"
- 7 PRINT "Bonne Chance.... Essayez quand meme la touche 5"
- 8 REM
- 9 REM (c)W-TEL 24/24 62.93.74.05
- 10 CLS:PRINT "READY ? PRESS [EXE]":GOSUB 920
- 15 CLS
- 20 X=INT(RAN#*30):Y=0:MX=RAN#*30: MY=1:T=0:LX=INT(RAN#*30):LY=INT (RAN#*2)
- 25 LOCATE X,Y:PRINT P$;:LOCATE MX,MY:PRINT M$;:LOCATE LX,LY:PRINT "*";
- 30 A$=INKEY$:T=T+1
- 31 IF T/100=INT(T/100) THEN A$="5"
- 32 IF T/50=INT(T/50) THEN 40
- 35 XX=0:YY=0:XM=0:YM=0
- 36 IF X-MX<>0 THEN XM=(X-MX)/ABS(X-MX)/0.9:MX=MX+XM
- 37 IF Y-MY<>0 THEN YM=(Y-MY)/ABS(Y-MY)/5:MY=MY+YM
- 38 IF MX<0 OR MX>30 THEN MX=MX-XM:XM=0
- 39 IF MY<0 OR MY>1 THEN MY=MY-YM:YM=0
- 40 IF A$="8" THEN YY=-1:XX=0
- 45 IF A$="3" THEN XX=1:YY=1
- 50 IF A$="2" THEN YY=+1:XX=0
- 55 IF A$="1" THEN XX=-1:YY=1
- 60 IF A$="6" THEN XX=+1:YY=0
- 65 IF A$="7" THEN XX=-1:YY=-1
- 70 IF A$="4" THEN XX=-1:YY=0
- 75 IF A$="9" THEN XX=1:YY=-1
- 76 IF A$="5" THEN XX=INT(RAN#*30)-X:YY=INT(RAN#*2)-Y
- 80 X=X+XX:IF X<0 OR X>30 THEN X=X-XX:XX=0
- 90 Y=Y+YY:IF Y<0 OR Y>1 THEN Y=Y-YY:YY=0
- 91 IF T/50=INT(T/50) THEN XM=RAN#*30-MX:YM=INT(RAN#*2)-MY:MX=MX+XM:MY=MY+YM
- 92 LOCATE 15,1:PRINT T;
- 95 LOCATE X-XX,Y-YY:PRINT " ";
- 96 LOCATE MX-XM,MY-YM:PRINT " ";
- 97 LOCATE LX,LY:PRINT "*";
- 99 LOCATE MX,MY:PRINT M$;
- 100 LOCATE X,Y:PRINT P$;
- 110 IF X=LX AND Y=LY THEN T=T+100:BEEP1:LX=INT(RAN#*30): LY=INT(RAN#*2)
- 120 IF X<>INT(MX) OR Y<>INT(MY) THEN 30
- 130 IF X=INT(MX) AND Y=INT(MY) THEN BEEP0:BEEP1:BEEP0:CLS:PRINT "PERDU !!!":GOTO 200
- 200 PRINT "T=";T:IF T>MT THEN MT=T
- 210 PRINT "MT=";MT:GOSUB 920:CLS:GOTO 10
- 900 FOR X=0 TO 30:FOR Y=0 TO 1:LOCATE X,Y:PRINT CHR$(135);:NEXT Y:NEXT X
- 920 FOR X=0 TO 30:FOR Y=0 TO 1:LOCATE X,Y:PRINT " ";:NEXT Y:NEXT X
- 930 RETURN
-
-
- +++++++++++++++++++++++++++++++++++++
- programme Simplex
-
- CE PROGRAMME PERMET D'OPTIMISER DES
- PROBLEMES EN UTILISANT LA METHODE DU
- SIMPLEX A PARTIR DES EQUATIONS MODIFIEES
- (VARIABLES PROPRES, D'ECARTS,...ETC).
-
- Z EST LA FONCTION A OPTIMISER.
- X(i) SONT LES VECTEURS DE LA BASE.
-
- LE PRG VOUS DEMANDE S'IL FAUT EFFACER
- LES VARIABLES POUR RE-INITIALISER LE
- PRG, REPONDRE O.
- ENTRER LE NBRE DE VARIABLES TOTAL, PUIS
- LE NBRE D'EQUATIONS.
- VIENS ENSUITE LA SAISI DES EQUATIONS:
- -D'ABORD LES COEF DES EQUATIONS PUIS LE
- RESULTAT.
-
- ENFIN VOUS SAISISSEZ LA FONCTION
- ECONOMIQUE.
-
- LES X(i) SONT LES VECTEURS DE LA BASE DE
- DEPART.
-
- LE PRG VA ENSUITE EXTRAIRE UN VECTEUR
- PUIS EN FAIRE RENTRER UN AUTRE.
- L'OPTIMISATION EST OBTENU LORSQUE LE
- VECTEUR SORTANT=VECTEUR RENTRANT.
- POUR AVOIR LA METHODE COMPLETE ECRIVEZ A
- SAINT-CRICQ WILLIAM, 98AVENUE DU RGT DE
- BIGORRE, 65000 TARBES.
-
- 1 REM METHODE DU SIMPLEX
- 2 REM (C) WILLYTEL JUIN 89
- 3 REM 24H/7H AU 62.93.74.05
- 10 REM ENTREE VALEURS
- 15 A$="":INPUT "CLEAR ALL ?";A$:IF A$="O" THEN CLEAR
- 20 INPUT "Nombre de var:";NVAR
- 30 INPUT "Nombre d'equation:";NEQ
- 40 XX=NVAR+3
- 50 YY=NEQ+1
- 60 DIM T(XX,YY)
- 70 DIM R(YY)
- 80 REM ENTREE TABLEAU
- 90 FOR Q=1 TO YY-1
- 100 FOR P=3 TO XX-1
- 110 PRINT P-2;" ";Q;CHR$(13);:INPUT "Coef eq:";T(P,Q)
- 120 NEXT P
- 130 INPUT "Resultat:";T(P,Q)
- 140 NEXT Q
- 150 REM ENTREE Z
- 160 FOR P=3 TO XX-1
- 170 PRINT P-2;CHR$(13);:INPUT "Coef Z:";T(P,YY)
- 180 NEXT P
- 190 REM ENTREE SOLUTION BASE
- 200 FOR P=1 TO YY-1
- 210 INPUT "X(i)?:";T(2,P)
- 220 T(1,P)=T(T(2,P)+2,YY)
- 230 T(XX,YY)=T(XX,YY)+T(1,P)*T(XX,P)
- 240 NEXT P
- 250 GOSUB 580
- 260 REM CALCUL Z MAX
- 270 MZ=0
- 280 FOR P=3 TO XX-1
- 290 IF T(P,YY)>MZ THEN MZ=T(P,YY):J=P
- 300 NEXT P
- 310 PRINT "Vecteur entre:";J-2
- 320 REM CAL VECT SORT
- 330 MIN=9*10^30
- 340 FOR P=1 TO YY-1
- 350 IF T(J,P)=0 THEN R(P)=9*10^30
- 360 IF T(J,P)<>0 THEN R(P)=T(XX,P)/T(J,P)
- 370 IF R(P)>0 AND R(P)<MIN THEN MIN=R(P):L1=P
- 380 NEXT P
- 390 PRINT "Vecteur sortant:";T(2,L1)
- 400 T(2,L1)=J-2
- 410 T(1,L1)=T(T(2,L1)+2,YY)
- 420 PAS1=T(J,L1)
- 430 FOR P=3 TO XX
- 440 T(P,L1)=T(P,L1)/PAS1
- 450 NEXT P
- 460 FOR P=1 TO YY-1
- 470 IF T(J,P)=0 OR P=L1 THEN GOTO 520
- 480 CO=T(J,P)
- 490 FOR Q=3 TO XX
- 500 T(Q,P)=T(Q,P)-CO*T(Q,L1)
- 510 NEXT Q
- 520 NEXT P
- 530 CC=T(J,YY)
- 540 FOR P=3 TO XX-1
- 550 T(P,YY)=T(P,YY)-T(P,L1)*CC
- 560 NEXT P
- 570 T(XX,YY)=T(XX,YY)+T(XX,L1)*CC
- 575 GOSUB 580:GOTO 260
- 580 REM AFFICHAGE
- 590 FOR P=1 TO YY
- 600 FOR Q=1 TO XX
- 610 PRINT T(Q,P);" ";
- 620 NEXT Q
- 630 PRINT" "
- 640 NEXT P
- 650 INPUT "Encore?";A$
- 660 RETURN
-
-
- +++++++++++++++++++++++++++++++++++++
- programme simplification fraction
-
- VOUS POURREZ REDUIRE TOUTES LES
- FRACTIONS QUE VOUS VOUDREZ.
- A ETANT LE NUMERATEUR ET B LE
- DENOMINATEUR.
- EX: 123/321=41/107
-
- 1 REM SIMPLIFRAC
- 2 REM TELECHARGE SUR WILLYTEL
- 3 REM 24H/7H AU 62.93.74.05
- 10 PRINT "SIMPLIF FRACTIONS A/B";CHR$(13);
- 20 INPUT "A:";A:INPUT "B:";B
- 30 PRINT A;"/";B;"=";CHR$(13);
- 40 G=A:H=B:GOSUB 100
- 50 G=G/D:H=H/D
- 60 PRINT G;"/";H:GOTO 10
- 100 IF A<B THEN T=A:A=B:B=T
- 110 R=A-B*INT(A/B)
- 120 IF R=0 THEN D=B:RETURN
- 130 A=B:B=R:GOTO 110
-
-
- ++++++++++++++++++++++++++++++++++++
- programme Zero polynome degre N avec
- complexe
-
- CE PROGRAMME PERMET DE TROUVER LES
- RACINES REELLES ET COMPLEXES D'UN
- POLYNOME DE DEGRE N.
- n EST LE DEGRE DU POLYNOME.
- a 0 EST LE COEF DE X^0, a 1 DE X^1,
- AINSI DE SUITE.
- EX: 5X^3-4X^2+3X^1-2=0
- DONNE LES SOLUTIONS SUIVANTES:
- 0.5904893191 +/- 0.8374067097 j
- x=-0.380979131
- avec f(x)=-4.05304E-06
-
- 1 REM RESOLUTION POLYNOME DE DEGRE N
- 2 REM TELECHARGE SUR WILLYTEL
- 3 REM 24H/7H AU 62.93.74.05
- 10 CLS:PRINT "P=a0+a1x+a2x^2+...+anx^n";CHR$(13);
- 15 CLEAR :INPUT "n=";G:F=G:DIM A(G),B(G),C(G),D(G):FOR I=G TO 0 STEP-1:PRINT "a";I;:INPUT "=";A(I):NEXT I
- 20 FOR I=G TO 0 STEP-1:IF A(I)>=0 THEN S$="+" ELSE S$="-"
- 30 A$=STR$(A(I)):I$=STR$(I):LA=LEN(A$): LI=LEN(I$):A$=RIGHT$(A$,LA-1): I$=RIGHT$(I$,LI-1)
- 40 P$=P$+S$+A$+"x^"+I$:NEXT I:CLS: PRINT P$+"=0"
- 50 P=1E-4:N=1E-9:FOR I=G TO 0 STEP-1:D(I)=A(I):NEXT I:IF G<=2 GOTO 190
- 60 A=0:H=1:K=-1:B(G)=A(G):C(G)=A(G)
- 70 B(G-1)=B(G)*H+A(G-1):C(G-1)=B(G-1)+B(G)*H
- 80 FOR I=G-2 TO 0 STEP-1:B(I)=B(I+2)*K+B(I+1)*H+A(I): C(I)=C(I+2)*K+C(I+1)*H+B(I):NEXT I
- 90 C=C(2)*C(2)-C(1)*C(3):IF C=0 THEN PRINT "Autres Val.Dep":END
- 100 O=H-(B(1)*C(2)-B(0)*C(3))/C:D=K-(B(0)*C(2)-B(1)*C(1))/C
- 110 IF ABS(B(0))<P AND ABS(B(1))<P GOTO 150
- 120 IF ABS(O-H)<N AND (D-K)<N THEN PRINT "Iterat.Creee":END
- 130 A=A+1:IF A>40 THEN PRINT "To Slow":END
- 140 H=O:K=D:GOTO 70
- 150 L=O/2:M=O*O+4*D:IF M<0 GOTO 170
- 160 Q=L+SQRM/2:PRINT "x=";Q:GOSUB 230: Q=L-SQRM/2:PRINT "x=";Q:GOSUB 230: GOTO 180
- 170 PRINT L;CHR$(249);SQR-M/2;"j"
- 180 FOR I=2TOG:A(I-2)=B(I):NEXT I:G=G-2:IF G>2 GOTO 60
- 190 IF G=1 THEN Q=A(0)/-A(1):PRINT "x=";Q:GOSUB 230:END
- 200 L=-A(1)/(2*A(2)):M=A(1)*A(1)-4*A(2)*A(0):IF M<0 GOTO 220
- 210 Q=L+SQRM/(2*A(2)):PRINT "x=";Q: GOSUB 230:Q=L-SQRM/(2*A(2)):PRINT "x=";Q:GOSUB 230:END
- 220 PRINT L;CHR$(249);SQR-M/(2*A(2)); "j":END
- 230 B=0:FOR I=1 TO F:B=B+D(I)*Q^I:NEXT I:B=B+D(0):PRINT "f(x)=";B:RETURN
-
-
- **************************************
-
- Voici un petit programme d'animation.
-
- 10 DIM A$(2):A$(0)="0000100000": A$(1)="0038283800":A$(2)="7C4444447C": FOR I=0 TO 2:DEFCHR$(253+I)=A$(I):NEXT
- 20 CLS:FOR I=0 TO 63:PRINT CHR$(255-INT(RAN#*100)MOD3);:NEXT :LOCATE0,0: I=0
- 30 DEFCHR$(253)=A$((I+1)MOD3): I=I+1*1*1*1*1*1*1*1:DEFCHR$(254)= A$((I+1)MOD3):I=I+1*1*1*1*1*1*1*0:
- DEFCHR$(255)=A$((I+2)MOD3):GOTO 30
- 40 I=I+1:DEFCHR$(253)=A$((I)MOD3): DEFCHR$(254)=A$((I+1)MOD3): DEFCHR$(255)=A$((I+2)MOD3):GOTO 30
-
-
- **************************************
-
- Programme de conversion base 10<> base N
- (N>1)
-
-
- 10 CLS:CLEAR
- 20 PRINT "1:(10>N) 2:(N>10)";
- 30 INPUT ":",I
- 40 IF I=1 THEN 100 ELSE 200
- 100 CLS:INPUT " BASE(N):",N," NOMBRE(X):",C
- 110 A=N:F=N:B=10
- 120 GOTO 300
- 200 CLS:INPUT " BASE(N):",N," NOMBRE(X):",C
- 210 B=N:A=10:F=0
- 300 E=INT(C/A):IF E=0 THEN 330
- 310 D=D+(C-E*A)*B^M
- 320 C=E:M=M+1:GOTO 300
- 330 D=D+C*B^M
- 340 IF F=0 THEN 370
- 350 PRINT "10>";A;":";D
- 360 GOTO 10
- 370 PRINT B;">10:";D
- 380 GOTO 10
-
-
- **************************************
-
- Biorythme classique.
- Ph:physique, Se:sexe, In:intellectuel
- Sachant que ces tats varient de -10
- 10, et la flche indique si c'est en
- phase ascendante ou descendante.
-
- 1 REM Biorythme
- 2 REM base de donnees: Wtel 24/24 (16) 62.93.74.05
- 3 REM
- 9 MODE 5
- 10 INPUT "DATE NAIS:(jjmmaa):";D$: IF D$="" THEN GOTO 10
- 20 J$=MID$(D$,1,2):M$=MID$(D$,3,2): A$=MID$(D$,5,2)
- 30 J=VAL(J$):M=VAL(M$):A=VAL(A$)
- 40 INPUT "DATE ACTUELLE(jjmmaa):";D$
- 50 K$=MID$(D$,1,2):N$=MID$(D$,3,2): B$=MID$(D$,5,2)
- 60 K=VAL(K$):N=VAL(N$):B=VAL(B$): D=365*(B-A-1)
- 70 U=A+1:IF M<=2 THEN U=A
- 80 V=B:IF N>2 THEN V=B+1
- 90 FOR I=U TO V:IF FRAC(I/4)=0 THEN D=D+1
- 100 NEXT I
- 110 IF N<>1 THEN RESTORE 1000:FOR I=1 TO N-1:READ X:D=D+X:NEXT I
- 120 D=D+K:RESTORE 1000:FOR I=1 TO M: READ X:NEXT I:D=D+X-J
- 130 IF M<>12 THEN RESTORE 1100:FOR I=M+1 TO 12:READ X:D=D+X:NEXT I
- 140 RESTORE 1200:CLS:FOR I=1 TO 3: READ D$,T:PRINT D$;
- 150 E=FRAC(D/T):PRINT INT(10*SIN (2*PI*E));
- 160 Q=SGN(COS(2*PI*E)):D$=CHR$(230): IF Q=1THEN D$=CHR$(227)
- 170 IF Q=-1 THEN D$=CHR$(229)
- 180 PRINT D$;:IF I<>3 THEN PRINT " ";
- 190 NEXT I:Q$=INPUT$(1):CLS:GOTO 40
- 1000 DATA 31,28,31,30,31,30,31,31, 30,31,30,31
- 1100 DATA 31,30,31,30,31,31,30,31, 30,31,28,31
- 1200 DATA "Ph:",23,"Se:",28,"In:",33
-
-
-
- **************************************
-
- Programme d'exploration de la RAM et
- ROM.
-
- - indiquer le mode de recherche Direct
- ou Squentiel.
- - Squentiel: tapez -PI pour revenir au
- sommaire, et PI pour faire une
- modification dans la mmoire.
- - Direct: tapez -PI pour revenir au
- sommaire, et PI pour modifier la
- mmoire.
-
-
- 5 VAC:CLS:PRINT TAB(2)"***PROGRAMME D'EXPLORATION***";:LOCATE7,1:PRINT "DE LA MEMOIRE V1.1"
- 7 INPUT "EN (D)IRECT OU EN (S)EQUENCES ";H$:IF H$="D" THEN 200 ELSE IF H$<>"S" ;GOTO 5
- 10 INPUT "LA RECHERCHE DEBUTE A L'ADRESSE ",ADR:INPUT "QUEL SEGMENT " ;RTC:DEFSEG=RTC
- 15 A=PEEK(ADR)
- 20 CLS:PRINT "SEG["RTC"] ADR["ADR"]"; :LOCATE 22,0:PRINT "HEXA["HEX$(ADR)"]";
- 30 LOCATE0,1:PRINT "CONTENU["CHR$(A)"] ASCII["A"]";
- 40 A=0:INPUT ">",A:Z=-3:IF A=PI;GOTO 100 ELSE IF A=Z THEN ADR=ADR-1:GOTO 15
- 50 IF A=0;ADR=ADR+1:GOTO 15 ELSE 55
- 55 IF A=-PI THEN 5
- 60 ADR=A:GOTO 15
- 100 CLS:INPUT "MODIFICATION A L'ADRESSE NUMERO ",ADR
- 102 X=PEEKADR:PRINT "QUEL NOMBRE FAUT -IL METTRE A LA PLACE DE "X"(";:PRINT CHR$(X)")";:INPUT "";Z:POKE ADR,Z:
- GOTO 15
- 200 CLS:INPUT "DE L'ADRESSE ",AA," A L'ADRESSE ",AB," NUMERO DU SEGMENT ",QW:DEFSEG=QW:IF AA=-PI;GOTO 7 ELSE IF
- AA=PI THEN 230
- 210 CLS:FOR I=AA TO AB:PRINT CHR$(PEEKI);:NEXT
- 220 STOP:GOTO 200
- 230 CLS:INPUT "A PARTIR DE QUELLE ADRESSE VA-T-ON POKER ";PO,"QUE VAIS-JE METTRE ";PO$,"A QUEL SEGMENT ";SE:
- DEFSEG=SE
- 240 W=LEN(PO$):FOR I=PO TO PO+W: Y=Y+1:L$=MID$(PO$,Y,1):L=ASC(L$): POKE I,L:NEXT:GOTO 200
-
-
- **************************************
-
- Programme de transformation d'un rel en
- fraction. Trs rapide !
-
-
- 1 REM PROGRAMME DE FRACTION
- 2 REM BASE DE DONNEES: WTEL 24/24 (16) 62.93.74.05
- 3 REM
- 10 Q=0:INPUT "X=";X:H=INT X:Z=FRAC X:L=1:P=1
- 20 IF ABS(X-H/P)<=1E-10 THEN PRINT X;"=";H;"/";P:GOTO 10
- 30 O=INT(1/Z):Z=FRAC(1/Z):M=H:N=P: H=O*H+L:P=O*P+Q:L=M:Q=N:GOTO 20
-
-
- **************************************
-
- Nombres alatoires.
-
- 10 MODE 5:DIM:CLS:ANGLE1
- 20 X=RAN#(1):IF X=0 THEN 20
- 25 Y=RAN#(1):IF Y=0 THEN 25
- 30 X=SQR(-2*LNX):Y=2*PI*Y
- 40 Z=X*COSY:GOSUB 60
- 50 Z=X*SINY:GOSUB 60:GOTO 20
- 60 PRINT TAB(0);Z;:Z$=INPUT$(1,@): RETURN
-
-
- **************************************
-
- Trs utile pour savoir le nombre
- d'octets que prennent les programmes et
- le MEMO.
-
-
- 1 REM PROGRAMME DE CALCUL DU NOMBRE D'OCTET
- 2 REM BASE DE DONNES: WTEL 24/24 (16) 62.93.74.05
- 3 REM
- 10 PRINT "Indiquez le numero de la page que vous voulez tester:";: A$=INPUT$(1):PRINT A$;:IF A$="M" THEN A=11
- ELSE A=VAL(A$)+1
- 20 PRINT :A=PEEK1715+256*PEEK1716-15*A:B=PEEK(A+3)+PEEK(A+4)*256-PEEKA-PEEK(A+1)*256-1:PRINT B"Octets":GOTO 10
-
-
- **************************************
-
- Petit prsentation sympa...
-
- 1 REM W-TEL 24H/24
- 2 REM 62.93.74.05
- 10 ON ERROR GOTO 200:VAC
- 20 CLS:INPUT "Donnez le texte:",A$: CLS:A=LEN(A$):B=(32-A)/2:GOSUB 100
- 30 FOR X=1 TO A:LOCATE B,0: B=B+1: P$=MID$(A$,X,1):PRINT P$;:GOSUB 100: NEXT: LOCATE B,0:PRINT "."
- 50 GOTO 10
- 100 DEFCHR$(252)="0101FF0101"
- 110 DEFCHR$(253)="4121110905"
- 130 FOR I=1 TO 5
- 140 LOCATE B,0:PRINT "-";:LOCATE B,0: PRINT "/";: LOCATE B,0: PRINT CHR$(252); : LOCATE B,0 :PRINT CHR$(253);:
- NEXT :RETURN :END
- 200 PRINT "Error,trop long";:FOR E=0 TO 300:NEXT :GOTO 10
-
-
- **************************************
-
- Voici le pro des pro: Transfert des
- programmes LIB en P0.
- Mais attention ! Ne modifiez pas le
- programme transfr en P0 car c'est le
- plantage dfinitif de votre Casio !
- Tapez ce programme ailleur qu'en P0 et
- suivez les instructions.
-
- Je vous rappelle que si vous dsirez le
- listing d'un programme de la LIB envoyez
- moi une enveloppe timbre...
-
-
- 1 REM BASE DE DONNEES: WTEL 24/24 (16) 62.93.74.05
- 2 REM pour retablir P0:
- 3 REM poke adr,ld
- 4 REM poke adr+1,hd
- 5 REM poke adr+2,0
- 6 REM poke adr+3,lf
- 7 REM poke adr+4,hf
- 8 REM poke adr+5,0
- 9 REM
- 10 REM TRANSFERT D'UN PROGRAMME DE LA LIB EN P0
- 20 INPUT "Numero de Lib:";N$
- 30 DEFSEG=0: ADR=PEEK1715 + PEEK1716*256-15
- 40 DN=PEEK1718 + PEEK1719*256 + PEEK1720*65536
- 50 FN=PEEK1724 + PEEK1725*256 + PEEK1726*65536
- 60 FOR J=DN TO FN-15 STEP 15: DEFSEG=J/16: OF=J-INT(J/16)*16+6
- 70 FOR K=1 TO LEN(N$): IF ASC (MID$(N$,K)) = PEEK(K+OF) THEN NEXT K: GOTO 100
- 80 NEXT J:PRINT "Non trouve":END
- 100 REM P0 SAUVEGARDE, TRANSFERT PROGRAMME EN P0
- 110 DEFSEG=0:IF PEEK(ADR+2)=0 THEN LD=PEEK ADR: HD=PEEK(ADR+1): LF=PEEK(ADR+3): HF=PEEK(ADR+4)
- 120 FOR K=0 TO 5: DEFSEG=J/16: BYTE=PEEK(K+J-INT(J/16)*16): DEFSEG=0: POKE ADR+K,BYTE: NEXT K
-
- **************************************
-
- Pour voir le pass de votre Casio
-
- 10 PRINT "PASS [";:FOR I=1867 TO 1874: DEFSEG=0: PRINT CHR$(PEEKI);: NEXT: PRINT "]"
-
- **************************************
-
- Petit programme qui dveloppe (a+b)^n
- avec n<10
- (Source Laurent Lechelle)
-
- 10 CLEAR:PRINT "(a+b)";CHR$(156);"=... ";:INPUT"n=",N:IF N>9 THEN 10 ELSE PRINT"(a+b)";CHR$(144+N);"=";:FOR
- A=0 TO N:PRINTNCR(N,A);"a";CHR$(8-(N-A<>0)*(136+N- A);"b";CHR$(8-(A<>0)*(136+A));" +";:NEXT A:PRINTCHR$(8):GOTO
- 10
-
- **************************************
-
-
- PROGRAMMES FX CASIO
- 6000G - 7000G - 7500G - 8000G - 8500G
-
- FICHE Nø 13
- PAR LAURENT LECHELLE
-
- Mcl : Rad : Defm 12 : jour->K : mois->N
- (anne sur 4 chiffres)->B : "BIORYTHMES" : Lbl 0 : 0->C
- 23->E[1] : 28->E[2] : 33->E[3] : 0->Z[1] : 31->Z[2]
- 59.25->Z[3] : 90.25->Z[4] : 120.25->Z[5] : 151.25->Z[6]
- 181.25->Z[7] : 212.25->Z[8] : 243.25->Z[9] : 273.25->Z[10]
- 304.25->Z[11] : 334.25->Z[12]
- "Date de naissance"?->J : ?->M : ?->A
- 365.25(B-A)+Z[N]-Z[M]+K-J->R
- Lbl 1 : C+1->C : Range -pi,pi,2pi/E[C],-1,1,.1
- (R-E[C]Int (R/E[C]))*2pi/E[C]->S Ý
- Graph Y=sin (X+S)Ý C<>=>Goto 1:Goto 0
-
- 339 pas
-
- symboles utiliss: pi
remplacer par
- le vrai signe de pi
- Ý
remplacer par
- le triangle au dessus de la touche ":"
- <>
remplacer par
- diffrent (= barr)
-
- Entrez dans le programme les donnes
- concernant le jour, le mois et l'anne.
- Puis lancez ensuite le programme. Entrez
- le jour, le mois et l'anne (sur 4
- chiffres) de la personne dont vous
- voulez connaitre le Biorythme. Les 3
- courbes qui apparaissent dcrivent la
- forme physique, puis la sensibilit,
- puis la forme intellectuelle (ce qui est
- diffrent de l'intelligence...). Les
- rsultats sont donns entre -10 et +10
- (axe des ordonnes). L'axe des abscisses
- repre la date de jour. Vous pouvez donc
- visualiser votre Biorythme plusieurs
- l'avance...sachant qu'un graduation de
- cet axe reprsente une journe.
-
-
-
- ******************************
-
- Programme pour que PIELB trouve sa bien-
- aime
-
- 10 CLS:CLEAR :INPUT "TA DATE ",D$
- 20 J=VAL(MID$(D$,1,2)):M=VAL(MID$(D$,3,2)):A=VAL(MID$(D$,5,2))
- 50 LOCATE 0,1:INPUT "SA DATE ",E$
- 60 K=VAL(MID$(E$,1,2)):N=VAL(MID$(E$,3,2)):B=VAL(MID$(E$,5,2))
- 70 S=J+69:T=K+69:U=M+88:V=N+88
- 80 X=S+T:Y=U+V:Z=A+B
- 90 X=X/3:Y=Y/4:Z=Z/3
- 95 CLS:SETF2:PRINT "AMOUR "X"% SEXE "Y"%";:LOCATE0,1:PRINT "PH & IN "Z"%":W=((X+Y+Z)/3):CLS:LOCATE0,0:PRINT
- "TOTAL:"W"%":SETN:GOTO 50
-
- ******************************
-
- Programme de cration de caractres.
- Le code Hexa est stock en IN/OUT.
- INS pour inverser le point
- Les flches pour se dplacer
- I pour faire une inversion vido
- EXE pour quitter et sauver le code Hexa
- (Source Laurent Lechelle)
-
-
- 10 PRINT "CREATION DE MATRICES";:FOR I=1 TO 7:PRINT:PRINT ".....";I;" (";CHR$(255);")";:NEXT I:LOCATE 0,0
- 15 X=0:Y=1:F=0:ERASE A,T$:DIM A(4,7),T$(4):FOR I=0 TO 4:T$(I)="00":NEXT I:DEFCHR$(255)="0000000000"
- 20 A$=INKEY$:IF A$="" THEN LOCATE X,Y:PRINT CHR$(32+F*(14-89*(A(X,Y)=1)));:F=1-F:GOTO 20 ELSE A=ASC(A$)
- 25 LOCATE X,Y:PRINT CHR$(46-89*(A(X,Y)=1));
- 30 IF A=28 AND X<4 THEN X=X+1
- 31 IF A=29 AND X>0 THEN X=X-1
- 32 IF A=30 AND Y>1 THEN Y=Y-1
- 33 IF A=31 AND Y<7 THEN Y=Y+1
- 34 IF A=13 THEN 60
- 35 IF A=18 THEN GOSUB 40:A=28:GOTO 30
- 36 IF A=73 THEN XX=X:FOR X=0 TO 4:FOR J=1 TO 7:LOCATE X,J:A(X,J)=1-A(X,J):PRINT CHR$(46-89*(A(X,J)=1));:NEXT
- J:GOSUB 50:NEXT X:X=XX
- 37 GOTO 20
- 40 A(X,Y)=1-A(X,Y):LOCATE X,Y:PRINT CHR$(46-89*(A(X,Y)=1));
- 50 T=0:FOR I=1 TO 7:T=T-(A(X,8-I)=1)*2^I:NEXT
- I:T$(X)=RIGHT$(HEX$(T),2):DEFCHR$(255)=T$(0)+T$(1)+T$(2)+T$(3)+T$(4):RETURN
- 60 CLS:CALC$=CHR$(34)+T$(0)+T$(1)+T$(2)+T$(3)+T$(4)+CHR$(34):ERASE T$,A
-
-
- ****************************
- Les programmes pour graphiques sont dans
- le Volume 3
-
- PROGRAMMES FX CASIO
- 8000G - 8500G
-
- FICHE Nø 14
- PAR PIERRE HOUSSIN
-
- Premier programme (prog 0)
-
- Mcl : Deg : Range 1->95,0,1->63,0
- Lbl 0 : Isz E : Int 20Ran#+20->I : Int 21Ran#+20->J
- Int 13Ran#+20->S : Int 10Ran#+20->T
- Lbl 4 : Int 68Ran#+26->A : Int 10Ran#+52->B
- I<=A => A<=I+S => J<=B => B<=J+T => Goto 4
- Plot A,B : 0->H : 12->C : 25->D
- Lbl 1 : Cls : Prog 1 : Plot A,B : Plot C,DÝ
- X->C : Y->D : Isz H : H>=20 => Goto 4
- "ANGLE"?->Z : "FORCE"?->L
- Lbl 2 : L-1->L : L<0 => Goto 1
- sin Z->F : cos Z->G : C+G->C : D+F->D : Plot C,D
- C>94 => Goto 5 : D>62 => Goto 5 : C<2 => Goto 5 : D>11 => Goto 5
- A=C => B=D => Goto 6
- Lbl 7 : C>=I => Goto 3 : L>=0 => Goto 2 : Goto 1
- Lbl 3 : I<=C => C<=I+J => J<=D => D<=J+T => Goto 5 : Goto 2
- Lbl 5 : "PERDU=" : PÝ Prog 0
- Lbl 6 : L>5 => Goto 7 : P+S-H->P : "GAGNE=" : PÝ E<12 => Goto 0
- " FIN DU GREEN TOTAL:" : PÝ
- Prog 0
-
-
- Second programme (prog 1)
-
- Plot I,J : Plot I+S,J : Line : Plot I+S,J+T : Line
- Plot I,J+T : Line : Plot I,J : Line
- Plot 1,10 : Plot 95,10 : Line : Plot 95,63 : Line
- Plot 1,63 : Line : Plot 1,10 : Line longueur totale : 704 pas
-
- symboles utiliss: pi
remplacer par
- le vrai signe de pi
- Ý
remplacer par
- le triangle au dessus de la touche ":"
- <>
remplacer par
- diffrent (= barr)
- <=, >=
remplacer
- respectivement par infrieur ou gal et
- suprieur ou gal
-
- Vous pouvez taper ces deux programmes
- dans la zone fichiers de votre machine
- pour cela nomez les respectivement
- "GOLF" et "GOLF1", puis remplacez les
- instructions Prog 0 et Prog 1 par les
- instructions Prog "GOLF" et Prog
- "GOLF1".
-
- **************************
-
- C'est tout pour l'instant, mais vous
- pouvez m'en envoyer
l'adresse
- suivante:
-
- Saint-Cricq William
- 9 Rsidence Bel Air
- 65000 TARBES
-
-
-
- Je remercie PIELB pour ses programmes et
- son animation de la rubrique Casio sur
- W-Tel, pour le contacter : Bal PIELB sur
- W-Tel.
-
- ATTENTION: CES PROGRAMMES NE PEUVENT
- ETRE VENDUS. ILS SONT DU DOMAINE PUBLIC
- ET SONT DISTRIBUES PAR W-TEL.
-
-